In wireless mobile environments, shadowing and multipath fading result in significant cell loss ratio performance degradation. Automatic repeat request (ARQ) and forward error correction (FEC) are frequently used to improve bit error rate (BER) performance. When the communication channel is of poor quality, some messages (e.g., words, cells, etc.) sent by a transmitter to a receiver that are negatively acknowledged (NACKed) or remain unacknowledged by the receiver after a predetermined amount of time after being transmitted (i.e., have timed out), should be stored in ARQ buffers in the transmitter, until they can be successfully transmitted from the transmitter to the receiver or until a period of time expires. A NACK or a timing out can operate as a request from the receiver to the transmitter to retransmit the corresponding message.
In accordance with the well-known Selective Repeat ARQ protocol, when a receiver recognizes that it has not correctly received a particular message, the receiver stores all correctly received messages subsequent to the incorrectly received message in a buffer.
For some messages, after the transmitter has attempted a number of times to retransmit a particular message without success, or after a period of time expires, the message should be discarded from the transmitter's ARQ buffer. However, if the receiver continues to expect discarded messages, the system can go into deadlock.